package com.chenyongjing.design.pattern.builder.withoutdirector;

/**
 * 建造者
 */
public abstract class Builder {
    /**
     * 第一步建造
     * @return
     */
    abstract Builder buildFirst(String msg);
    /**
     * 第二步建造
     * @return
     */
    abstract Builder buildSecond(String msg);
    /**
     * 第三步建造
     * @return
     */
    abstract Builder buildThree(String msg);
    /**
     * 第四步建造
     * @return
     */
    abstract Builder buildFour(String msg);

    /**
     * 获取建造好的商品
     * @return
     */
    abstract Product getProduct();

}
